/* SPDX-License-Identifier: GPL-2.0
 *
 * Copyright (C) 2019 - 2021
 *
 * Richard van Schagen <vschagen@icloud.com>
 * Christian Marangi <ansuelsmth@gmail.com
 */
#ifndef _EIP93_AEAD_H_
#define _EIP93_AEAD_H_

extern struct eip93_alg_template eip93_alg_authenc_hmac_md5_cbc_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha1_cbc_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha224_cbc_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha256_cbc_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_md5_ctr_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha1_ctr_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha224_ctr_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha256_ctr_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_md5_rfc3686_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha1_rfc3686_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha224_rfc3686_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha256_rfc3686_aes;
extern struct eip93_alg_template eip93_alg_authenc_hmac_md5_cbc_des;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha1_cbc_des;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha224_cbc_des;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha256_cbc_des;
extern struct eip93_alg_template eip93_alg_authenc_hmac_md5_cbc_des3_ede;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha1_cbc_des3_ede;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha224_cbc_des3_ede;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha256_cbc_des3_ede;
extern struct eip93_alg_template eip93_alg_authenc_hmac_md5_ecb_null;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha1_ecb_null;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha224_ecb_null;
extern struct eip93_alg_template eip93_alg_authenc_hmac_sha256_ecb_null;

void eip93_aead_handle_result(struct crypto_async_request *async, int err);

#endif /* _EIP93_AEAD_H_ */
